<script>
	import appUpdate from './utils/version_updating.js'
	import {
		GetVersionUpdatingApi
	} from '@/api/modules/system';
	import {
		nextTick,
		ref
	} from 'vue';




	// #ifdef APP-PLUS
	const qiyuModule = uni.requireNativePlugin("Netease-QiyuModule")
	const jpushModule = uni.requireNativePlugin("JG-JPush")
	import {
		initOauth
	} from './utils/oauth.js';
	// #endif
	// #ifdef H5
	import YSF from '@neysf/qiyu-web-sdk';
	// #endif

	import useStore from '@/stores';
	import {
		compareVersions
	} from './utils/index.js';


	export default {
		onLaunch: function() {
			const {
				useOrderStore
			} = useStore()

			// #ifdef APP-PLUS
			// 	app 禁止横屏
			plus.screen.lockOrientation("portrait-primary");

			const {
				platform
			} = uni.getSystemInfoSync();

			GetVersionUpdatingApi({
				type: platform === 'android' ? 1 : 2
			}).then(res => {
				//	版本更新compareVersions
				plus.runtime.getProperty(plus.runtime.appid, wgtinfo => {

					// 本地小于线上，提示更新
					if (compareVersions(wgtinfo.version, res.data.version) === -1) {
						const updateInfo = {
							platform,
							updateContent: res.data.introduce,
							downUrl: res.data.url,
							version: res.data.version,
							force: true,
							mainColor: '6F69E9',
						}
						appUpdate(updateInfo)
					}
				})
			})

			//	消息推送权限判断
			// setTimeout(() => {
			// 	if (uni.getSystemInfoSync().platform == "ios") {
			// 		jpushModule.requestNotificationAuthorization((result) => {
			// 			let status = result.status
			// 			if (status < 2) {
			// 				uni.$showModal({
			// 					title: "",
			// 					content: '您暂未开启通知权限,无法接收到消息通知,请前往设置',
			// 					confirmVal: '去设置',
			// 					cancelVal: '取消'
			// 				}).then(() => {
			// 					jpushModule.openSettingsForNotification((result) => {})
			// 				})
			// 			}
			// 		})
			// 	} else {
			// 		const flag = uni.getAppAuthorizeSetting().notificationAuthorized
			// 		if (flag !== "authorized") {
			// 			uni.$showModal({
			// 				title: "",
			// 				content: '您暂未开启通知权限,无法接收到消息通知,请前往设置',
			// 				confirmVal: '去设置',
			// 				cancelVal: '取消'
			// 			}).then(() => {
			// 				uni.openAppAuthorizeSetting()
			// 			})
			// 		}
			// 	}
			// }, 1000)
			jpushModule.initJPushService();
			jpushModule.setLoggerEnable(true);
		
			jpushModule.addConnectEventListener(result => {
				uni.$emit('connectStatusChange', result.connectEnable)
			});

			// #endif

			// // #ifdef H5
			// YSF.init('b2d907bb833c0d14c44c9ac98e153e24', {
			// 	hidden: true
			// }).then(ysf => {
			// 	const {
			// 		globalStore
			// 	} = useStore()
			// 	globalStore.setOpenQiyuH5(ysf)
			// }).catch(error => {
			// 	console.log('sdk加载失败---', error);
			// });
			// // #endif

			// #ifdef APP-PLUS
			if (uni.getSystemInfoSync().platform == "ios") {
				qiyuModule.initSdk({
					appKey: "b2d907bb833c0d14c44c9ac98e153e24",
					appName: ""
				})
			} else {
				qiyuModule.initSdk()
			}

			initOauth().then(() => {}).catch((err) => {
				uni.$uv.toast(err);
			})
			// #endif

			// 	设置是否为第一次进入 展示签到弹窗
			uni.setStorageSync("__FIRST_OPEN", 1)
			uni.setStorageSync('CLOSE_REGISTER_CURTAIN',0)
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			const {
				useOrderStore
			} = useStore()
			useOrderStore.readOrders = []
			uni.setStorageSync('readOrders', [])
			console.log('App Hide')
		}
	}
</script>

<style lang="scss">
	@import "uni.scss";

	/* 针对小程序和App平台 */
	/* #ifdef MP-WEIXIN || APP-PLUS */
	::-webkit-scrollbar {
		display: none;
		/* 隐藏滚动条 */
		width: 0 !important;
		/* 防止滚动条宽度影响布局 */
		height: 0 !important;
		-webkit-appearance: none;
		/* 移除滚动条样式 */
		background: transparent;
		/* 透明背景 */
		color: transparent;
		/* 透明颜色（可选） */
	}

	/* #endif */
	
	/*	底部安全区域占位符，tabbar 页面使用	*/
	.placeholderEle {
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
		height: 160rpx;
		width: 100%;
	}
	
</style>